package com.dog.basics.service.common.impl;


import cn.hutool.core.lang.Validator;
import com.dog.basics.common.constant.CommonConstants;
import com.dog.basics.common.util.RedisUtil;
import com.dog.basics.security.constants.SecurityConstants;

import com.dog.basics.service.common.IDogEmialService;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 用户表 服务实现类
 * </p>
 *
 * @author guoy
 * @since 2020-03-24.
 */
@Service
@AllArgsConstructor
public class DogEmailServiceImpl implements IDogEmialService {
    /**
     * Spring Boot 提供了一个发送邮件的简单抽象，使用的是下面这个接口，这里直接注入即可使用
     */


    /**
     * 配置文件中我的qq邮箱
     */


    /**
     * 注册发送邮件
     *
     * @param to      收件人
     * @param subject 主题
     * @param content 内容
     */
    @Override
    public Boolean sendSimpleMail(String to, String subject, String content) {
/*
        //创建SimpleMailMessage对象
        SimpleMailMessage message = new SimpleMailMessage();
        //邮件发送人
        message.setFrom(from);
        //邮件接收人
        message.setTo(to);
        //邮件主题
        message.setSubject(subject);
        //邮件内容
        message.setText(content);
        //发送邮件
        mailSender.send(message);

        Object codeObj = RedisUtil.get(CommonConstants.EMAIL_DEFAULT_CODE_KEY + "REGISTE@" + to);
        Validator.validateNull(codeObj, "验证码发送过频繁!");
        RedisUtil.set(CommonConstants.EMAIL_DEFAULT_CODE_KEY + "REGISTE@" + to, content, SecurityConstants.CODE_TIME);*/
        return true;
    }


    /**
     *  修改邮箱修改密码发送邮件
     *
     * @param to      收件人
     * @param subject 主题
     * @param content 内容
     */
    @Override
    public Boolean sendEditSimpleMail(String to, String subject, String content) {
/*
        //创建SimpleMailMessage对象
        SimpleMailMessage message = new SimpleMailMessage();
        //邮件发送人
        message.setFrom(from);
        //邮件接收人
        message.setTo(to);
        //邮件主题
        message.setSubject(subject);
        //邮件内容
        message.setText(content);
        //发送邮件
        mailSender.send(message);

        Object codeObj = RedisUtil.get(CommonConstants.EMAIL_DEFAULT_CODE_KEY + "EDIT@" + to);
        Validator.validateNull(codeObj, "验证码发送过频繁!");
        RedisUtil.set(CommonConstants.EMAIL_DEFAULT_CODE_KEY + "EDIT@" + to, content, SecurityConstants.CODE_TIME);*/
        return true;
    }
}
